package com.mrslu.signkk.service;

import com.mrslu.signkk.pojo.User;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;

public interface UserService {


    /**
     * 用户登录与注册；
     * - 存在用户信息则登录，数据库中如果没有该用户的openId则先完成基础的注册
     *
     * @param code  登录code
     * @return  token
     */
    String userLogin(@NotBlank @Length(max = 128) String code);


    /**
     * 更新用户基本信息
     *
     * @param user  用户基本信息
     * @return  新用户信息
     */
    User updateUserDetail(User user);


    /**
     * 获取用户基本信息
     *
     * @param orgId     机构ID
     * @param userId    用户ID
     * @return  用户基本信息
     */
    User getUserDetail(Integer orgId, Integer userId);


}
